开发环境

IDEA+maven+JDK+linux

系统架构

hadoop+zookeeper+flume+ kafka+ spark+hbase

需求描述

实时(到现在为止)的日志访问统计操作

项目描述

项目数据来源的日志为Python脚本产生的,通过crontab定时执行Python脚本模仿服务器日志的产生, 日志包括ip、time、url、status、referer。然后使用flume采集产生的日志数据 并sink到Kafka消息队列中,然后将日志信息传给Spark Streaming进行实时数据处理。 最后将计算结果写入到Hbase上。

项目步骤

  • 通过Python脚本模仿日志的产生;
  • Flume的选型,在本例中设为exec-memory-kafka;
  • 打开kafka一个消费者,再启动flume读取日志生成器中的log文件,可看到 kafka中成功读取到日志产生器的实时数据 ;
  • 让Kafka接收到的数据传输到Spark Streaming当中,这样就可以在Spark对 实时接收到的数据进行操作了 ;
  • Spark中对实时数据的操作分为数据清洗过程、统计功能实现过程两个步骤。 其中统计功能的实现基本上和Spark SQL中的操作一致,体现了Spark的代码复 用性,即能通用于多个框架中 ;
  • 计算结果写入到Hbase。

项目源码